package com.punai.customer.mapper;

import com.punai.common.core.mapper.CommonMapper;
import com.punai.customer.domain.CusLinkMechanicalStaCus;
import com.punai.customer.domain.vo.CusLinkStaVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 标准机械与客户机械的对应Mapper接口
 *
 * @author zxw_
 * @date 2023-02-02
 */
public interface CusLinkMechanicalStaCusMapper extends CommonMapper<CusLinkMechanicalStaCus>
{
    /**
     * 查询标准机械与客户机械的对应
     *
     * @param id 标准机械与客户机械的对应主键
     * @return 标准机械与客户机械的对应
     */
    public CusLinkMechanicalStaCus selectCusLinkMechanicalStaCusById(String id);

    /**
     * 查询标准机械与客户机械的对应列表
     *
     * @param cusLinkMechanicalStaCus 标准机械与客户机械的对应
     * @return 标准机械与客户机械的对应集合
     */
    public List<CusLinkMechanicalStaCus> selectCusLinkMechanicalStaCusList(CusLinkMechanicalStaCus cusLinkMechanicalStaCus);


    /**
     * 删除标准机械与客户机械的对应
     *
     * @param id 标准机械与客户机械的对应主键
     * @return 结果
     */
    public int deleteCusLinkMechanicalStaCusById(String id);

    /**
     * 批量删除标准机械与客户机械的对应
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCusLinkMechanicalStaCusByIds(String[] ids);

    List<CusLinkMechanicalStaCus> selectSettingLinkList(@Param("companyId") Long companyId, @Param("cusId") String cusId,@Param("staId") String staId);

    int deleteByCusIds(@Param("companyId")Long companyId, @Param("cusIds") List<String> cusIds);

    int deleteBySelfId(@Param("companyId")Long companyId, @Param("id")String id);

    void deleteByNotInId(@Param("companyId") Long companyId, @Param("cusId") String cusId,@Param("ids") List<String> ids);

    void updateCoefficient(@Param("companyId") Long companyId, @Param("item") CusLinkStaVo item);
}
